/*
 * Copyright 2008 Lucas Tan.
 * This copyright notice must always remain intact whenever you use or distribute 
 * the source code contained in this file.
 * Any usage of any code in this file, either in derived work or
 * through the use of external linkage,
 * must always be credited with the author's name.
 * 
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 * DEALINGS IN THE SOFTWARE.
 * 
 * */
using System;
using System.Collections.Generic;
using System.Text;
using Crypto = System.Security.Cryptography;

namespace PassKeeper.Cryptography
{
	public abstract class SHA512Hasher : 
		Crypto.SHA512
	{
		protected SHA512Hasher()
			: base()
		{
			//do nothing.
		}

		public new static SHA512Hasher Create()
		{
			/*Although this method will never succeed, we still have to maintain
			 the behavior of the parent class.*/
			return Create(typeof(SHA512Hasher).FullName);
		}

		public new static SHA512Hasher Create(string name)
		{
			/*Borrow their code.*/
			return (SHA512Hasher) Crypto.SHA512.Create(name);
		}
	}
}
